Subject: Should the C/R bit in SSAP be preserved by DLSw ?

From: "Steve Klein (254-5623)" <[email-masked]>
Date: Wed, 9 Feb 94 08:13:39 EST

Reference: Note from Nagi Swaminathan on Wed, 19 Jan 94 15:34:20 EST

Nagi Swaminathan writes:
>I have a simple question on the format of SSAP in  XIDFRAME exchanged on the
>network.
>
>Should C/R response bit in the XID frames received from the ring be preserved
>or not when sent as XIDFRAME by DLSw ?
>
> Which one of the following flows is correct ?  What does 6611 do ?
>
> The scenario uses the connection set-up sequence between a PUT2 node and
> a PUT4 node as the example. The PUT2 node initiates the connection by
> by sending a NULL XID command.
>
>1. C/R bit in the SSAP is preserved across the network.
>   ---------------------------------------------------
>
>PUT2             DLSW1                        DLSw2                     PUT4
>
>NULL XID_cmd(SSAP=0x04, DSAP=0x04)
>-------------->
>                 NULL XIDFRAME(SSAP=0x04,DSAP=0x04)
>                 ----------------------------->
>                                              NULL XID_cmd(SSAP=0x04,DSAP=0x04)
>                                               ------------------------->
>
>                                              NULL XID_cmd(SSAP=0x04,DSAP=0x04)
>                                              <-------------------------
>                 XIDFRAME(SSAP=0x04,DSAP=0x04)
>                 <-----------------------------
>
> NULL XID_cmd(SSAP=0x04, DSAP=0x04)
><------------------
> XID_rsp(SSAP=0x05, DSAP=0x04)
> ------------------->
>                  XIDFRAME(SSAP=0x05,DSAP=0x04)
>                  ----------------------------->
>                                                XID_rsp(SSAP=0x05,DSAP=0x04)
>                                                --------------------------->
>
>2. C/R bit is not preserved across the network.
>   -------------------------------------------
>
>NULL XID_cmd(SSAP=0x04, DSAP=0x04)
>-------------->
>                 XIDFRAME(SSAP=0x04,DSAP=0x04)
>                 ----------------------------->
>                                              NULL XID_cmd(SSAP=0x04,DSAP=0x04)
>                                              ------------------------->
>
>                                              NULL XID_cmd(SSAP=0x04,DSAP=0x04)
>                                              <-------------------------
>                 XIDFRAME(SSAP=0x04,DSAP=0x04)
>                 <-----------------------------
>
> NULL XID_cmd(SSAP=0x04, DSAP=0x04) (Note 1)
><------------------
> XID_rsp(SSAP=0x05, DSAP=0x04)
> ------------------->
>                  XIDFRAME(SSAP=0x04,DSAP=0x04)
>                  ----------------------------->
>                                                XID_rsp(SSAP=0x05,DSAP=0x04)
>                                                --------------------------->
>
> Note 1:
> ------
> If case 2 is correct, how can the DLSw1 decide whether to put the XID
> through as a command or a response (see Alan Bartky's message of 7/19/93
> and Steve Klein's message of 8/12/93)?
>

Nagi, the command/response bit in the source SAP is NOT preserved over
the network.  The C/R bit is only significant for the local LLC instance
on each side of the circuit.  It is only used to acknowledge the receipt
of the previous XID LPDU sent by a station and does not change the
meaning of the XID for higher layers.  The DLSw LLC in the 6611 uses
the following FSM for determining whether or not to set the C/R bit as
well as forwarding XIDFRAME SSP messages across the network.  I will add
it to the FSMs we are creating for the DLSw standard so that all of
the DLSw LLCs are in sync with respect to handling XIDs.

Steve

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

DLSw XID FSM:

  XID states
    reset - Reset: No incoming or outgoing XID responses are pending.
            This is the initial state
    IXp   - Incoming XID Response Pending: An XID command LPDU has been
            sent and the link station is awaiting an XID response LPDU.
    OXp   - Outgoing XID Response Pending: An XID command LPDU has been
            received and the next XID sent by the link station should be
            sent as a response.
    IOXp  - Incoming and Outgoing XID Responses Pending: The link station
            has sent and then received and XID command LPDU.

  XID events
    DLC_XIDr - XID request (from DLSw)
    XID cmd  - XID command LPDU
    XID rsp  - XID response LPDU

  XID actions
    DLC_XIDi - XID indication (to DLSw)
    XID cmd  - XID command LPDU
    XID rsp  - XID response LPDU

           +---------------------------------------------------------------+
           |                             states                            |
+----------+---------------+---------------+---------------+---------------+
|  Events  |     reset     |      IXp      |      OXp      |      IOXp     |
+----------+---------------+---------------+---------------+---------------+
| Receive  | send XID cmd  | drop DLC_XIDr | send XID rsp  | send XID rsp  |
| DLC_XIDr | state = IXp   |               | state = reset | state = IXp   |
+----------+---------------+---------------+---------------+---------------+
| Receive  | send DLC_XIDi | send DLC_XIDi | drop XID cmd  | drop XID cmd  |
| XID cmd  | state = OXp   | state = IOXp  |               |               |
+----------+---------------+---------------+---------------+---------------+
| Receive  | drop XID rsp  | send DLC_XIDi | drop XID rsp  | send DLC_XIDi |
| XID rsp  |               | state = reset |               | state = OXp   |
+----------+---------------+---------------+---------------+---------------+